package io;

import io.Person;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

/**
 * 对象流
 * java.io.ObjectInputStream和java.io.ObjectOutputStream
 * 对象流是一对高级流,在流连接中的作用是进行对象序列化与反序列化
 * 对象序列化:将一个对象按照其结构转换为一组字节的过程
 * 对象反序列化:将一组字节(必须是序列化的一组数字)还原为一个对象的过程
 *
 * 因此,有了对象流,可以很方便的读写任何java对象
 */
public class OOSDemo {
    public static void main(String[] args) throws IOException {
        //将一个Person实例写入文件Person.obj中
        String name="苍老师";
        int age=18;
        String gender="女";
        String[] OtherInfo={"是个演员","来自霓虹","会写毛笔字","启蒙老师"};
        Person p=new Person(name,age,gender,OtherInfo);
        FileOutputStream fos=new FileOutputStream("person.obj");
        ObjectOutputStream oos=new ObjectOutputStream(fos);
        oos.writeObject(p);
        System.out.println("写出完毕");
        oos.close();

    }



}
